#include <stdio.h>

/*只出现一次的数字*/

int singleNumber(int* nums, int numsSize)
{
    int left=0;
    int right=numsSize-1;
    int res;
    while(left<right)
    {
        int min=left;
        int max=right;
        for(int i=left;i<=right;i++)
        {
            if(nums[i]<nums[min])
            {
                min=i;
            }
            if(nums[i]>nums[max])
            {
                max=i;
            }
        }
         int temp = nums[left];
        nums[left]= nums[min];
        nums[min]=temp;

        if(max==left) //如果最大的刚好在最左边
        {
            max=min;
        }
        temp=nums[right];
        nums[right]=nums[max];
        nums[max]=temp;
        left++;
        right--;
    }
    for(int i=0;i<numsSize;i++)
    {
        printf("%d ",nums[i]);
    }
    printf("\n");
    if(nums[0]!=nums[1])
    {
        res=nums[0];
        return res;
    }
    for(int i=1;i<numsSize;i++)
    {
        if(nums[i]!=nums[i+1]&&nums[i]!=nums[i-1])
        {res=nums[i]; break;}

    }
    return res;
}

void main()
{
    int nums[]={1};
    int numsSize=sizeof(nums)/4;
    printf("%d\n",singleNumber(nums, numsSize));
}
